home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / vbchat1a / frmmain.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1999-08-30  |  4.7 KB  |  196 lines

  1. VERSION 5.00
  2. Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "MSWINSCK.OCX"
  3. Begin VB.Form Form1 
  4.    BorderStyle     =   4  'Fixed ToolWindow
  5.    Caption         =   "Vb chat Server"
  6.    ClientHeight    =   4365
  7.    ClientLeft      =   6420
  8.    ClientTop       =   165
  9.    ClientWidth     =   5550
  10.    LinkTopic       =   "Form1"
  11.    MaxButton       =   0   'False
  12.    MinButton       =   0   'False
  13.    ScaleHeight     =   4365
  14.    ScaleWidth      =   5550
  15.    ShowInTaskbar   =   0   'False
  16.    Begin VB.Timer Timer3 
  17.       Enabled         =   0   'False
  18.       Interval        =   10
  19.       Left            =   4200
  20.       Top             =   600
  21.    End
  22.    Begin VB.Timer Timer2 
  23.       Enabled         =   0   'False
  24.       Interval        =   10
  25.       Left            =   4200
  26.       Top             =   0
  27.    End
  28.    Begin VB.Timer Timer1 
  29.       Enabled         =   0   'False
  30.       Interval        =   10
  31.       Left            =   3840
  32.       Top             =   0
  33.    End
  34.    Begin MSWinsockLib.Winsock snd 
  35.       Index           =   0
  36.       Left            =   3480
  37.       Top             =   0
  38.       _ExtentX        =   741
  39.       _ExtentY        =   741
  40.       _Version        =   393216
  41.    End
  42.    Begin MSWinsockLib.Winsock srvlesn 
  43.       Left            =   3120
  44.       Top             =   0
  45.       _ExtentX        =   741
  46.       _ExtentY        =   741
  47.       _Version        =   393216
  48.       RemoteHost      =   "6000"
  49.    End
  50.    Begin VB.TextBox Text1 
  51.       Height          =   285
  52.       Left            =   0
  53.       TabIndex        =   1
  54.       Top             =   4080
  55.       Width           =   5535
  56.    End
  57.    Begin VB.ListBox List1 
  58.       Height          =   3960
  59.       Left            =   0
  60.       TabIndex        =   0
  61.       Top             =   0
  62.       Width           =   5535
  63.    End
  64. Attribute VB_Name = "Form1"
  65. Attribute VB_GlobalNameSpace = False
  66. Attribute VB_Creatable = False
  67. Attribute VB_PredeclaredId = True
  68. Attribute VB_Exposed = False
  69. Dim g As Integer
  70. Dim hf As Integer
  71. Dim usr As String
  72. Dim l As Integer
  73. Dim ind As Integer
  74. Dim txt As String
  75. Dim txt0 As String
  76. Private Sub Form_Load()
  77. Me.Caption = "Vb chat server at(" & srvlesn.LocalIP & ")"
  78. srvlesn.LocalPort = 1000
  79. srvlesn.Listen
  80. For i = 1 To 49
  81. Load snd(i)
  82. user(i).free = True
  83. Next i
  84. user(0).free = True
  85. End Sub
  86. Private Sub snd_DataArrival(Index As Integer, ByVal bytesTotal As Long)
  87. On Error Resume Next
  88. Dim arriveddata As String, splited() As String
  89. snd(Index).GetData arriveddata, vbString
  90. List1.AddItem arriveddata
  91. splited() = Split(arriveddata, "=>:")
  92. Select Case splited(0)
  93. Case "adduser"
  94. user(Index).Name = splited(1)
  95. user(Index).Nickname = splited(2)
  96. user(Index).ip = splited(3)
  97. List1.AddItem "User=>:" & user(Index).Nickname
  98. ind = Index
  99. Timer1.Enabled = True
  100. Case "mess"
  101. For i = 0 To 50
  102. If user(i).Nickname = splited(1) Then
  103. snd(i).SendData "|mssg=>:" & splited(2) & "=>:" & splited(3) & "|"
  104. Exit For
  105. End If
  106. Next i
  107. Case "ping"
  108. For i = 0 To 50
  109. If user(i).Nickname = splited(1) Then
  110. snd(i).SendData "|ping=>:" & splited(2) & "|"
  111. Exit For
  112. End If
  113. Next i
  114. Case "kick"
  115. For i = 0 To 50
  116. If user(i).Nickname = splited(1) Then
  117. snd(i).SendData "|kicked=>:" & splited(2) & "|"
  118. Exit For
  119. End If
  120. Next i
  121. Case "serv"
  122. txt0 = "message=>:"
  123. txt = "from " & splited(1) & ": " & splited(2)
  124. Timer3.Enabled = True
  125. Case "closed"
  126. For i = 0 To 50
  127. If user(i).Nickname = splited(1) Then
  128. usr = splited(1)
  129. Timer2.Enabled = True
  130. snd(Index).Close
  131. user(i).Name = ""
  132. Exit For
  133. End If
  134. Next i
  135. End Select
  136. End Sub
  137. Private Sub srvlesn_ConnectionRequest(ByVal requestID As Long)
  138. On Error Resume Next
  139. For i = 0 To 50
  140. If user(i).free = True Then
  141. user(i).free = False
  142. snd(i).Accept requestID
  143. 'MsgBox "reguest accepted)"
  144. snd(i).SendData "|serverinfo=>:connection accepted|"
  145. For x = 0 To 49
  146. If user(x).free = False Then
  147. snd(i).SendData "|user=>:" & user(x).Nickname & "|"
  148. End If
  149. Next x
  150. Exit For
  151. End If
  152. Next i
  153. End Sub
  154. Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
  155. On Error Resume Next
  156. If KeyCode = vbKeyReturn Then
  157. txt0 = "serverinfo=>:"
  158. txt = Text1.Text
  159. Text1.Text = ""
  160. Timer3.Enabled = True
  161. End If
  162. End Sub
  163. Private Sub Timer1_Timer()
  164. On Error Resume Next
  165. g = g + 1
  166. If g = 50 Then
  167. g = 0
  168. Timer1.Enabled = False
  169. End If
  170. If user(g).Name <> "" Then
  171. snd(g).SendData "|user=>:" & user(ind).Nickname & "|"
  172. End If
  173. End Sub
  174. Private Sub Timer2_Timer()
  175. On Error Resume Next
  176. hf = hf + 1
  177. If hf = 50 Then
  178. hf = 0
  179. Timer2.Enabled = False
  180. End If
  181. If user(hf).Name <> "" Then
  182. snd(hf).SendData "|leave=>:" & usr & "|"
  183. End If
  184. End Sub
  185. Private Sub Timer3_Timer()
  186. On Error Resume Next
  187. l = l + 1
  188. If l = 50 Then
  189. l = 0
  190. Timer3.Enabled = False
  191. End If
  192. If user(l).Nickname <> "" Then
  193. snd(l).SendData "|" & txt0 & txt & "|"
  194. End If
  195. End Sub
  196.